package com.bsg.upm.entity;

import java.io.Serializable;

/**
 * 子订单实体类
 * 
 * @author HCK
 *
 */
public class SubOrderEntity extends BaseEntity implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 子订单编码
	 */
	private String id;

	/**
	 * 所属子服务定义
	 */
	private DefinitionSubServEntity definitionSubServ;

	/**
	 * 所用子服务软件镜像
	 */
	private SubServSoftwareImageEntity subServSoftwareImage;

	/**
	 * 所用子服务架构
	 */
	private DefinitionSubServArchEntity definitionSubServArch;

	/**
	 * 所用子服务单元规模
	 */
	private DefinitionSubServUnitScaleEntity definitionSubServUnitScale;

	/**
	 * 网络带宽
	 */
	private Integer networkBandwidth;

	/**
	 * 数据目录容量
	 */
	private Long dataDirSize;

	/**
	 * 数据目录设备类型
	 */
	private String dataDirDeviceType;

	/**
	 * 日志目录容量
	 */
	private Long logDirSize;

	/**
	 * 日志目录设备类型
	 */
	private String logDirDeviceType;

	/**
	 * 是否混合部署
	 */
	private Boolean mixed;

	/**
	 * 高可用
	 */
	private Boolean highAvailable;

	/**
	 * 所产生的子服务
	 */
	private SubServEntity subServ;

	/**
	 * 所属订单
	 */
	private OrderEntity order;

	/**
	 * 获取子订单编码
	 * 
	 * @return id 子订单编码
	 */
	public String getId() {
		return id;
	}

	/**
	 * 设置子订单编码
	 * 
	 * @param id
	 *            子订单编码
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取所属子服务定义
	 * 
	 * @return definitionSubServ 所属子服务定义
	 */
	public DefinitionSubServEntity getDefinitionSubServ() {
		return definitionSubServ;
	}

	/**
	 * 设置所属子服务定义
	 * 
	 * @param definitionSubServ
	 *            所属子服务定义
	 */
	public void setDefinitionSubServ(DefinitionSubServEntity definitionSubServ) {
		this.definitionSubServ = definitionSubServ;
	}

	/**
	 * 获取所用子服务软件镜像
	 * 
	 * @return subServSoftwareImage 所用子服务软件镜像
	 */
	public SubServSoftwareImageEntity getSubServSoftwareImage() {
		return subServSoftwareImage;
	}

	/**
	 * 设置所用子服务软件镜像
	 * 
	 * @param subServSoftwareImage
	 *            所用子服务软件镜像
	 */
	public void setSubServSoftwareImage(SubServSoftwareImageEntity subServSoftwareImage) {
		this.subServSoftwareImage = subServSoftwareImage;
	}

	/**
	 * 获取所用子服务架构
	 * 
	 * @return definitionSubServArch 所用子服务架构
	 */
	public DefinitionSubServArchEntity getDefinitionSubServArch() {
		return definitionSubServArch;
	}

	/**
	 * 设置所用子服务架构
	 * 
	 * @param definitionSubServArch
	 *            所用子服务架构
	 */
	public void setDefinitionSubServArch(DefinitionSubServArchEntity definitionSubServArch) {
		this.definitionSubServArch = definitionSubServArch;
	}

	/**
	 * 获取所用子服务单元规模
	 * 
	 * @return definitionSubServUnitScale 所用子服务单元规模
	 */
	public DefinitionSubServUnitScaleEntity getDefinitionSubServUnitScale() {
		return definitionSubServUnitScale;
	}

	/**
	 * 设置所用子服务单元规模
	 * 
	 * @param definitionSubServUnitScale
	 *            所用子服务单元规模
	 */
	public void setDefinitionSubServUnitScale(DefinitionSubServUnitScaleEntity definitionSubServUnitScale) {
		this.definitionSubServUnitScale = definitionSubServUnitScale;
	}

	/**
	 * 获取网络带宽
	 * 
	 * @return networkBandwidth 网络带宽
	 */
	public Integer getNetworkBandwidth() {
		return networkBandwidth;
	}

	/**
	 * 设置网络带宽
	 * 
	 * @param networkBandwidth
	 *            网络带宽
	 */
	public void setNetworkBandwidth(Integer networkBandwidth) {
		this.networkBandwidth = networkBandwidth;
	}

	/**
	 * 获取数据目录容量
	 * 
	 * @return dataDirSize 数据目录容量
	 */
	public Long getDataDirSize() {
		return dataDirSize;
	}

	/**
	 * 设置数据目录容量
	 * 
	 * @param dataDirSize
	 *            数据目录容量
	 */
	public void setDataDirSize(Long dataDirSize) {
		this.dataDirSize = dataDirSize;
	}

	/**
	 * 获取数据目录设备类型
	 * 
	 * @return dataDirDeviceType 数据目录设备类型
	 */
	public String getDataDirDeviceType() {
		return dataDirDeviceType;
	}

	/**
	 * 设置数据目录设备类型
	 * 
	 * @param dataDirDeviceType
	 *            数据目录设备类型
	 */
	public void setDataDirDeviceType(String dataDirDeviceType) {
		this.dataDirDeviceType = dataDirDeviceType;
	}

	/**
	 * 获取日志目录容量
	 * 
	 * @return logDirSize 日志目录容量
	 */
	public Long getLogDirSize() {
		return logDirSize;
	}

	/**
	 * 设置日志目录容量
	 * 
	 * @param logDirSize
	 *            日志目录容量
	 */
	public void setLogDirSize(Long logDirSize) {
		this.logDirSize = logDirSize;
	}

	/**
	 * 获取日志目录设备类型
	 * 
	 * @return logDirDeviceType 日志目录设备类型
	 */
	public String getLogDirDeviceType() {
		return logDirDeviceType;
	}

	/**
	 * 设置日志目录设备类型
	 * 
	 * @param logDirDeviceType
	 *            日志目录设备类型
	 */
	public void setLogDirDeviceType(String logDirDeviceType) {
		this.logDirDeviceType = logDirDeviceType;
	}

	/**
	 * 获取是否混合部署
	 * 
	 * @return mixed 是否混合部署
	 */
	public Boolean getMixed() {
		return mixed;
	}

	/**
	 * 设置是否混合部署
	 * 
	 * @param mixed
	 *            是否混合部署
	 */
	public void setMixed(Boolean mixed) {
		this.mixed = mixed;
	}

	/**
	 * 获取高可用
	 * 
	 * @return highAvailable 高可用
	 */
	public Boolean getHighAvailable() {
		return highAvailable;
	}

	/**
	 * 设置高可用
	 * 
	 * @param highAvailable
	 *            高可用
	 */
	public void setHighAvailable(Boolean highAvailable) {
		this.highAvailable = highAvailable;
	}

	/**
	 * 获取所产生的子服务
	 * 
	 * @return subServ 所产生的子服务
	 */
	public SubServEntity getSubServ() {
		return subServ;
	}

	/**
	 * 设置所产生的子服务
	 * 
	 * @param subServ
	 *            所产生的子服务
	 */
	public void setSubServ(SubServEntity subServ) {
		this.subServ = subServ;
	}

	/**
	 * 获取所属订单
	 * 
	 * @return order 所属订单
	 */
	public OrderEntity getOrder() {
		return order;
	}

	/**
	 * 设置所属订单
	 * 
	 * @param order
	 *            所属订单
	 */
	public void setOrder(OrderEntity order) {
		this.order = order;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "SubOrderEntity [id=" + id + ", definitionSubServ=" + definitionSubServ + ", subServSoftwareImage="
				+ subServSoftwareImage + ", definitionSubServArch=" + definitionSubServArch
				+ ", definitionSubServUnitScale=" + definitionSubServUnitScale + ", networkBandwidth="
				+ networkBandwidth + ", dataDirSize=" + dataDirSize + ", dataDirDeviceType=" + dataDirDeviceType
				+ ", logDirSize=" + logDirSize + ", logDirDeviceType=" + logDirDeviceType + ", mixed=" + mixed
				+ ", highAvailable=" + highAvailable + ", subServ=" + subServ + ", order=" + order + "]";
	}

}
